#!/usr/bin/python3
#-*- encoding=UTF-8 -*-   
'''
gui工具，人脸AI测试程序
网站：https://www.jianshu.com/p/311749e3b91a
'''
import tkinter as tk
from PIL import Image, ImageTk
import faceModel as faceModel
import dataShow as dataShow
import gui.tool.baiduGui as baiduGui
import logUtil 
log=logUtil.getControl()

root = tk.Tk()  


class MainControl():
    def __init__(self,root,log):
        '''
        初始化
        '''
        self.root=root
        self.initMenu()
        self.setStyle()
        faceModel.show(root,log)
        # dataShow.show(root,log)
        tk.mainloop()

    def initFrom(self,model):  
        '''
        初始化接口测试
        '''
        self.destroyAll()
        model.show(root,log)

    def about(self):  
        print('AI项目辅助工具')    

    def hello(self):
        print("尚未开发")
    
    def destroyAll(self):
        '''
        清空画布
        '''
        for widget in root.winfo_children():
            widget.destroy()
        self.initMenu()

    def initMenu(self):
        '''
        设置菜单
        '''
        menubar = tk.Menu(self.root)
        #创建AI测试工具
        AImenu = tk.Menu(menubar,tearoff=0)  
        AImenu.add_command(label="人脸接口", command=lambda : self.initFrom(model=faceModel))
        menubar.add_cascade(label="AI工具", menu=AImenu)

        #数据分析展示工具
        dataMenu = tk.Menu(menubar,tearoff=0)  
        dataMenu.add_command(label="数据展示", command=lambda : self.initFrom(model=dataShow))  
        menubar.add_cascade(label="数据分析", menu=dataMenu)

        #百度平台接口
        dataMenu = tk.Menu(menubar,tearoff=0)  
        dataMenu.add_command(label="人脸图片分析", command=lambda : self.initFrom(model=baiduGui))  
        menubar.add_cascade(label="百度AI", menu=dataMenu)
        
        #菜单Help  
        menubar.add_cascade(label="关于", command=self.about)
        self.root.config(menu=menubar)

    def setStyle(self):
        '''
        设置窗体风格
        '''
        #设置标题
        self.root.title("工具")
        #设置大小
        width,height=root.maxsize()

        if width>1600:
            width = width/2
        set=str(int(width*0.7))+"x"+str(int(height*0.7))+"+"+str(int(width*0.15))+"+"+str(int(height*0.1))
        self.root.geometry(set)


if __name__ == "__main__":
    main=MainControl(root,log)